﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using COFE.Core;
using COFE.Core.Lister;
using COFE.Core.Profile;
using System.ComponentModel;
using COFE.Core.Entry;

namespace COFE.Core
{
    /// <summary>
    /// Implements by FileSystemInfoExA, provide internal use methods and properties.
    /// </summary>
    public interface IInternalFileSystemInfoExA : IFileSystemInfo, 
        IPropertyHost<IFileSystemInfo>
    {               
        /// <summary>
        /// For virtual item  (!IsFileSystem), expand the item to file system.
        /// </summary>
        void Expand();

        /// <summary>
        /// Get parent hash, calculated by parsepath.
        /// </summary>
        Guid ParentId { get; }

        /// <summary>
        /// Get parent full parsable path, or null if parent = null.
        /// </summary>
        string ParentParseName { get; }

        /// <summary>
        /// Get current entries's hash, calculated by parsepath.
        /// </summary>
        Guid Id { get; }         
    }
}
